计算机基础结构
生词
英文 | 中文 |
---|---|
Terminology | 术语 |
general-purpose | 多功能 |
assembly language | 汇编语言 |
instruction set | 指令集 |
architecture | 架构 |
Von Neumann | 冯诺依曼 |
Arithmetic & Logic Unit (ALU) | 算术逻辑单元 |
Program Counter (PC) | 程序计数器 |
volatile | 不稳定的 |
firmware | 固件 |
scenario | 情景 |
mnemonic | 帮助记忆的 |
executable | 可执行的 |
synchronization | 同步 |
communication bus | 通讯总线 |
一些 Intel x86 指令
含义 | 指令 |
---|---|
move | MOV |
push | PUSH |
push all | PUSHA |
move with sign | MOVSX |
load address | LEA |
add | ADD |
subtract | SUB |
multiplicate | MUL |
divide with sign | IDIV |
logical and | AND |
bit test | BTS |
bit scan forward | BSF |
冯诺依曼架构
其中:
- CU 是 Control Unit,用于从主存储器获取指令(fetch)到 CPU
- PC 是 Program Counter,用于保存指令的地址
- ALU 是 Arithmetic & Logic Unit
很多现代计算机都使用冯诺依曼架构
ASCII
使用 7 个 bits 来表示 128 个字符
word
1 word = n bytes = 8n bits
GB 和 GiB
- GB: 1000 MB
- GiB: 1024 Mib
内存寻址
How much memory can be addressed when using 1-byte memory address?
Answer: 256 Bytes
(pdf page 22)
意思是,8 位寻址空间,可用内存 256 字节
类似地,如果是 32 位,那就是 4GiB
汇编语言简介
指令名称 | 简称 |
---|---|
addition | add |
subtraction | sub |
load word | lw |
store word | sw |
shift right logical | srl |
branch if not equal | bne |
注意 PC
根据 CPU 架构,程序计数器(PC)可能指向当前正在执行的指令、正在获取的指令或下一条可执行指令。
机器周期
其中,fetch 和 execute 过程受 CPU 当中 CU 的控制,fetch 到的指令会被安排到 instruction register 当中。每当一条指令被执行,program counter 就会增加,以便存储下一条指令。